-
Notifications
You must be signed in to change notification settings - Fork 513
feat: support when_matched_delete in merge_insert #4939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support when_matched_delete in merge_insert #4939
Conversation
db7cd37 to
925f954
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
4898546 to
b793aba
Compare
|
@wjones127 I plan to push some changes to bump the coverage a bit. Lack of coverage is from explain/analyze plan methods. Something I think would be a good idea to future-proof this file is starting to standardize how these various combinations of configs should be unit tested together. We can always attempt to test all relevant combinations with targeted tests, but not sure how scalable that is. Maybe there's a better approach with parameterized tests, etc.? |
There's probably a better parametrized test. I'm working on adding a larger test suite, which can cover more write cases. |
d1b0c26 to
b17144d
Compare
jackye1995
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mostly looks good to me, some minor comments
b5a6597 to
8f63701
Compare
8f63701 to
d647e6a
Compare
|
@wjones127 @jackye1995 thoughts here? |
|
@jtuglu1 I thought about this a bit more, and also saw Will's old comment (sorry totally missed that previously) I think what Will suggested makes sense, I pushed a commit to add DeleteOnlyMergeInsertExec with some additional refactoring, let me know if this looks good to you |
|
Yeah I considered this (and Will's comment), but I didn't really like the idea of adding physical plans for every single type of enum (.*MergeInsertExec). It seemed easier (to me) to handle things all in the same codepath (the projection optimizations, etc.). I haven't really looked through your changes here yet, but are there any performance benefits as compared to the current implementation? Edit: looks like this is skipping write step which is I guess some time saved. |
59fbe58 to
d95d7ae
Compare
yes that's the main goal |
d95d7ae to
03c9ff8
Compare
jackye1995
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for working through this!
Closes #2271